﻿using System;
using System.Data;
using System.IO;
using System.Web;
using BusinessLogic;

namespace Interface.Rooms
{
    public partial class AddNewRoom : System.Web.UI.Page
    {
        DataConnection dc = new DataConnection();
        DataValid dv = new DataValid();
        

        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["OwnerSession"] == null)
            {
                Response.Redirect("~/Home.aspx");
            }

            lbUser.Text = Session["OwnerSession"].ToString();
            loadHouse();
        }
        
        protected void loadHouse()
        {
            string owner = string.Empty;
            if (Session["OwnerSession"] != null)
            {
                owner = Session["OwnerSession"].ToString();
            }

            string sqlIdUser = "Select UserId from Users where Username = N'" + owner + "'";
            int _idUser = dc.getNumberValue(sqlIdUser);
            string strsql = "Select * from BoardingHouse BH, Rooms R where BH.IdHouse = R.HouseID and BH.Owner ='" +_idUser + "'";
            DataTable dt = dc.getData(strsql);
            ddlHouse.Items.Add(string.Empty);
            if (dt.Rows.Count > 0)
            {
                foreach (DataRow row in dt.Rows)
                {
                    string _houseID = row["HouseID"].ToString();

                    ddlHouse.Items.Add(_houseID);
                }
            }

        }
        protected void btnReset_Click(object sender, EventArgs e)
        {
            txtName.Text = null;
            txtPrice.Text = null;
            txtArea.Text = null;
            txtMaxPer.Text = null;
            txtCurPer.Text = null;
            txtDescript.Text = null;           
        }

        protected void btAdd_Click(object sender, EventArgs e)
        {
            if (txtName.Text == string.Empty)
            {
                lblMs.Text = "Bạn phải nhập tên phòng trọ";
                return;
            }
            if (txtPrice.Text == string.Empty)
            {
                lblMs.Text = "Bạn phải nhập giá phòng trọ";
                return;
            }

            if (txtArea.Text == string.Empty)
            {
                lblMs.Text = "Bạn phải nhập diện tích phòng";
                return;
            }

            if (txtMaxPer.Text == string.Empty)
            {
                lblMs.Text = "Bạn phải nhập số lượng người thuê nhiều nhất";
                return;
            }
            if (txtCurPer.Text == string.Empty)
            {
                lblMs.Text = "Bạn phải nhập số lượng người hiện tại đang thuê";
                return;
            }

            if (txtDescript.Text == string.Empty)
            {
                lblMs.Text = "Bạn phải chọn nhập vào miêu tả của nhà trọ";
                return;
            }

            string owner = lbUser.Text;

            string sqlIdUser = "Select UserId from Users where Username = N'" + owner + "'";
            int _idUser = dc.getNumberValue(sqlIdUser);

            string _Name = txtName.Text;
            string _Price = txtPrice.Text;
            int _Area = Convert.ToInt32(txtArea.Text);
            int _MaxPer = Convert.ToInt32(txtMaxPer.Text);
            int _CurPer = Convert.ToInt32(txtCurPer.Text);
            string _Des = txtDescript.Text;
            int _Avai = 0;

            if (_CurPer > _MaxPer)
            {
                lblMs.Text = "Số người lớn nhất phải lớn hơn số người hiện tại";
                return;
            }
            else if(_CurPer == _MaxPer)
            {
                _Avai = 1;
            }
            else if(_CurPer < _MaxPer)
            {   
                _Avai = 1;
            }

            int _ckbInt = 0;
            if(ckbInternet.Checked == true)
            {
                 _ckbInt = 1;
            }
            HttpPostedFile postfile = upload.PostedFile;
            string fileEx = Path.GetExtension(postfile.FileName);
            string filename = Path.GetFileName(postfile.FileName);
            if (filename != string.Empty)
            {

                if (fileEx == ".jpg" || fileEx == ".gif" || fileEx == ".png" || fileEx == ".bmp")
                {
                    postfile.SaveAs(Server.MapPath("~/Images/Houses/" + filename));
                }
                else
                {
                    filename = null;
                    //lblMs.Text = "Bạn phải nhập hình định dạng .jpg, .gif, .png hay .bmp";
                    //return;
                }

            }

            if (_Des == string.Empty)
            {
                _Des = null;
            }

            string insertQuery = "insert into Rooms values ('" + _idUser + "', N'" + _Name + "',N'" + _Des + "','" + _Avai + "','" 
            + _Area + "','" + _Price + "','" + _MaxPer + "', '" + _CurPer + "','" + _ckbInt + "','" + filename + "')";

                    try
                    {
                        dc.ExecNonQuery(insertQuery);
                        Response.Redirect("RoomList.aspx");
                    }
                    catch (Exception ex)
                    {
                        lblMs.Text = ex.Message;

                    }
        }
    }
}